package Terminadores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Timer;

import Juego.Juego;

/**
 * 
 * @author Gzain, Marziali
 * Objeto encargado de finalizar el nivel o la partida.
 */
public class Finalizador implements ActionListener {
	
	
	//Atributos de instancia
	
	 protected Juego juego;
	 protected Timer timer;
	
	//Comandos de clase
	 /**
	  * Una vez que es creado, da un tiempo para agarrar el power up de vida antes de acabar el nivel.
	  */
	 public void inicializarTimer() {
		 
			Timer temporizador = new Timer(5000, this);
			timer = temporizador;
			//Espera el delay inicial, se hace una vez y no mas
			timer.setRepeats(false);
			timer.start();
		    }
	 /**
	  * Accion disparada por el timer. Continua con el nivel siguiente.
	  */
	 public void actionPerformed(ActionEvent evt) {
		 
		 //level completo
		 juego.continuar();
	     }
	 
	 public void setJuego(Juego juego) {
		 
	     this.juego = juego;
	   }
	 /**
	  * Finaliza el nivel
	  */
	 public void terminar() {
		 
		 juego.finalizarNivel();
	      }
	 /**
	  * Da un tiempo antes de aparecer el panel de fin de nivel.
	  */
	 public void nivelCompletado() {
		 
		 this.inicializarTimer(); 
	   }
	

}
